Mdsl dmt architecture

ABSTRACT

The invention provides a medium rate digital subscriber line modem solution for modem data communications between telecommunications networks and remote or end user installations over twisted metallic wire pairs.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority under 35 U.S.C. § 119(e)(1) ofprovisional applications Ser. No. 06/050,707, filed Jun. 25, 1997, andSer. No. 06/050,753, filed Jun. 25, 1997, the entireties of which areincorpoated herein by reference.

TECHNICAL FIELD

[0002] This invention relates to modem data communciations betweentelecommunications networks and remote or end user installations overtwisted metallic wire pairs.

BACKGROUND OF THE INVENTION

[0003] Background of the invention is given in copending Ser. No.08/667,267, filed Jun. 20, 1996, entitled “Multimode Digital Modem”;U.S. Pat. No. 5,285,474; U.S. Pat. No. 5,400,322; U.S. Pat. No.5,479,447; U.S. Pat. No. 5,623,513; ANSI TI.413-1995, “Network andCustomer Installation Interfaces—Asymmetric Digital Subscriber Line(ADSL) Metallic Interface” (1995); and ANSI T1.413 Issue 2, “InterfaceBetween Networks and Customer Installation—Asymmetric Digital SubscriberLine (ADSL) Metallic Interface” (draft May 4, 1998); the entireties ofall of which are incoproated herein by reference.

SUMMARY OF THE INVENTION

[0004] The inveniton provides a medium rate digital subscriber linemodem solution for modem data communciations between telecommunicationsnetworks and remote or end user installations over twisted metallic wirepairs.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005]FIG. 1 shows the channel frequency response of an 18 kft twistedcopper pair cable.

[0006]FIG. 2 shows a transformer coupling of an xDSL analog front end(AFE).

[0007]FIG. 3 shows a scheme of frequency division multiplexing.

[0008]FIG. 4 shows a multi-carrier modulation scheme.

[0009]FIG. 5 is a block diagram of a DMT transmission system.

[0010]FIG. 6 is a block diagram of an MDSL central office locationtransceiver.

[0011]FIG. 7 is a block diagram of an MDSL remote user locationtransceiver.

[0012]FIG. 8 shows a bit mapping scheme for an MDSL DMT transmission.

[0013]FIG. 9 is a block diagram of a typical DMT receiver.

[0014]FIG. 10 is a block diagram of a wide dynamic range adaptive FEQ.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0015] Embodiments of the invention have been chosen for purposes ofillustration and are described below:

MDSL DMT Architecture

[0016] 1. Introduction

[0017] Asymmetric Digital Subscriber Line (ADSL) is a technology todeliver up to 8 Mbps downstream and 1 Mbps upstream duplex data ratefrom telephone company's central office to residential home usingexisting twisted copper pair. The standard has been defined by ANSIstandard committee to use Discrete Multi-Tone modulation scheme as linecode and support four asymmetrical downstream and three duplex upstreammultiplexed channels. The standard was intentionally defined for videoon demand (VOD) application. It requires the data rate and distancereach at least for 1.5 Mbps and 18 kft respectively. However, due totechnology and market difficulties, the standard ADSL approach has notbeen widely adopted as a cost effective solution. On the other hand, asinter-net access market grows up rapidly, it is highly desirable to havelow cost high speed access solutions.

[0018] Medium-rate Digital Subscriber Line (MDSL) provides an idealsolution to this inter-net access market. MDSL chooses modified DTmodulation scheme and has rate adaptive capability. The data rate isnegotiable between central office and remote modems depending on theline condition. In fact MDSL DMT can provide up to 2.8 Mbps downstreamand 844 kbps upstream data rate. The data rate can also be negotiateddown with 16 kbps per step. More importantly the MDSL DMT technologyimplemented on 100 Mips Digital Signal Processor (DSP) is the most costeffective DSL modem available today. As MDSL DMT based on theprogrammable DSP solutions, it allows itself to be integrated withcurrent 56 k, V.34 and ISDN, etc., commercial modems on a single chipand can be easily upgraded with software in future.

[0019] 2. Line Conditions and Impairments

[0020] ANSI standard committee has defined the spectrum coverage andtransmission power spectrum density (PSD) for ADSL applications. Thespectrum covers from 4 kHz up to 1 MHz and the transmission powerspectrum density (PSD) is specified as −40 dBm/Hz. MDSL uses a subset ofADSL spectrum and compiles with ANSI specifications on PSD. As theresult MDSL will not cause any extra interference to ANSI ADSL plant.

[0021] The ANSI channel model and impairments model are used for theMDSL modem design. In ANSI standard the xDSL technology uses existingtwisted copper pair as transmission media. The cable has severedistortion in the megahertz regime. The channel distortion within theADSL spectrum band is shown in FIG. 1. It can be seen that the signal isattenuated by the loop and the high frequency attenuation is much higherthan that of low frequency. Generally the longer the cable, the higherthe loop attenuation is and the faster the signal rolls off infrequency. FIG. 1 shows an example of 18 kft loop, the signalattenuation at 500 kHz can be 35 dB more than the signal at dc. In theADSL standard the line noise floor is specified as −140 dBm/Hz and is aconstant across the band. Thus, as the frequency goes higher, the signalto noise ratio (SNR) goes lower.

[0022] In the real loop environment as multiple phone lines mergeswithin the same bundle, the signal in one line can couple into itsadjacent lines and creates near-end and far-end cross talk. As thefrequency goes higher, the cross talk becomes stronger. The far-endcross talk attenuated by the line is less problematic. However, sincethe intensity of near-end cross talk is high, it degrades theperformance of modem receiver. The cross talk effect raises the receivernoise floor. The level of the receiver noise floor also depends on thenumber of disturbers in the loop plant.

[0023] Another impairment on xDSL receiver is the echo fed back from thetransmission path. A typical modem analog front end (AFE) is shown inFIG. 2. As in typical telephone set, the outgoing signal and incomingsignal couples to the phone line via a transformer. The transformercircuit is configured as balanced network. Theoretically, the outgoingsignal does not mix with incoming signal at the receiver. However, sincein the balanced network circuit the impedance does not match perfectly,the outgoing signal echoes back to the receiver. Practically, the echosignal may be attenuated only 10 dB from the outgoing signal by thebalanced network circuit. Comparing with 50 dB cable loss in FIG. 1, theecho signal is much stronger than the incoming signal. The modemreceiver has to separate the signal from the strong echos.

[0024] 3. Frequency Division Multiplexing

[0025] Theoretically in a full duplex modem the receiver knows exactlywhat the transmitter is transmitting. The modem receiver can subtractthe echo from the incoming data stream with advanced signal processalgorithms. However, the echo cancellation algorithm typically requirespowerful DSP horse power which is inadequate with current low cost DSP.Also, since the echo signal can be 50 dB stronger than the incomingsignal, both analog front end and DSP should have higher precision tocover the entire dynamic range. The cost of DSP and AFE is inverselyproportional to their precision.

[0026]FIG. 3 shows the spectrum diagram for frequency divisionmultiplexing technique. The downstrean spectrum separates from theupstream spectrum. As in the standard ADSL the higher frequency band isused for downstream and the lower frequency band is used for upstream.Since modem transmitter and receiver use different frequency band, theecho signal and the near-end cross talk can be filtered out from theincoming signal.

[0027] In difference from other xDSL technology, MDSL chooses the signalbandwidth based on the DSP horse power and applications rather than theavailable channel capacity. Typical MDSL bandwidth is constrained to thesubset of ADSL bandwidth. Therefore, it compiles with ADSL looprequirements. MDSL bandwidth can be upgraded when more powerful DSPbecomes available.

[0028] One example of MDSL bandwidth selection is shown in FIG. 3. Theupstream transmission spectrum is from 20 to 140 kHz and the downstreamspectrum is from 180 to 640 kHz. The overall bandwidth is about halfthat of ADSL. The DSP processing bandwidth is therefore less than 50% ofADSL. In MDSL DMT system the spectrum isolation is provided by the AFEanalog filters. To effectively filtering out the echo and near-end crosstalk, the filter requires to have sharp cut-off. The filterspecification is shown in table 1: TABLE 1 MDSL DMT filter specificationTransmitter Receiver MTU-C Passband @ −3 dB 180 kHz ˜ 640 kHz 20 kHz ˜140 kHz Stop band −24 dB @ 1104 kHz −60 dB @ 180 kHz −40 dB @ 140 kHzMTU-R Passband @ −3 dB 20 kHz ˜ 140 kHz 180 kHz ˜ 640 kHz Stop band −24dB @ 3.3 kHz −40 dB @ 140 kHz −60 dB @180 kHz −40 dB @ 800 kHz

[0029] 4. Discrete Multi-Tone Modulation (DMT) Scheme

[0030] In xDSL application the channel signal to noise ratio (SNR)varies in frequency as discussed in section 2. Consequently the channelcapacity differs with the frequency. The DMT modulation scheme uniformlydivides entire frequency band into a bank of 5 kHz bins. For each binthe data rate depends on the frequency bin's capacity as shown in FIG.4. At the modem transmitter the transmitting data stream isde-multiplexed into the frequency bank, and at the receiver the datafrom each frequency bins are multiplexed back into a common stream.Since the transmitter typically does not know the channel condition, thebit rate assignment on each frequency bin has to go through an initialset up process. Practically before the modem connection set up, themodem transmitter sends probe signal to measure the channel SNR on eachfrequency bin, and the modem receiver feeds back the measurement resultto determine the bit rate assignment of each sub- carrier.

[0031] There are different ways to generate the frequency filter bank.DMT uses inverse FFT technique to map a time domain data stream into thefrequency domain. As shown in FIG. 5, assuming the Nyquist frequency binis at index N, the incoming data stream is mapped to half of IFFTcomplex input X_(i), for f=0. to N−1. The other half of the input areobtained by Hermitian symmetry operation. That is

X′ _(i) =conj[X _(2N-i)] for i=N to 2N−1.

[0032] Then the IFFT output $\begin{matrix}{x_{k} = {\sum\limits_{i = 0}^{{2N} - 1}{{\exp ( {j\frac{i\quad k\quad \pi}{N}} )} \cdot X_{i}}}} & (1)\end{matrix}$

[0033] only has real output and can drive a DAC for transmission.

[0034] At the receiver end the received data y_(n) is the transmissiondata x_(k) linearly convoluted with channel impulse response h_(i)

y _(n) =h _(i{circle over (×)}) x _(k).  (2)

[0035] If data x_(k) repeats every frame, the linear convolution ofequation (2) is the same as a circular convolution. Applying FFT on bothsides of (2) gives

Y _(k) =H _(k) ·X _(k) and $\begin{matrix}{X_{k} = {\frac{Y_{k}}{X_{k}}.}} & (3)\end{matrix}$

[0036] The transmitting data can be easily recovered on the receiver.However, for a real transmission the data is impossible to repeat itselfevery frame. The relation (3) can not be satisfied because the data inprevious frame leaks into the current frame and creates inter-symbolinterference (ISI). To solve the problem circular prefix data should beprepended to the data stream x_(k) before its transmission. As shown inFIG. 6 the data

x_(−k) =x _(N-k) for k=1 to M  (4)

[0037] are inserted before x₀, where M is chosen to be longer than thechannel impulse response. By adding the circular prefix the modifieddata stream (4) looks partially like circularly repeating itself.

[0038] At the receiver the data

y_(−k) for k=1 to M

[0039] should be removed before FFT processing. Since the circularprefix length M is longer than the channel impulse response, startingfrom y_(o) the linear convolution of equation (2) is the same ascircular convolution. Therefore, DMT receiver can still use equation (3)for demodulation.

[0040] 5. MDSL DMT Specification

[0041] MDSL DMT is designed as a Physical Media Dependent (PMD) layerdevice. It handles the physical layer functions of modulation,initialization, scramble and de-scramble, physical layer framing andflow control. MDSL DMT transceiver supports downstream data rate up to2.8 Mbps, upstream data rate up to 844 kbps and also rate adaptationcapability with 64 kbps per step. FIG. 6 and 7 show the dual DSPimplementations of MDSL modem at central office (MTU-C) and remoteterminal (MTU-R). In this example two Texas Instruments 50 Mips C54x DSPare used. The principle and the specifications can be extended to otherplat form.

[0042] 5.1 MTU-C Specification

[0043]FIG. 6 shows the block diagram of the MTU-C transceiver data flow.In the downstream direction, the MTU-C receives data from host(typically a PC), and packets the data in a physical layer frame. Thepacket data is then modulated to multiple DMT sub-carriers via IFFTprocess. The output of IFFT goes through the analog front end (AFE) to aphysical phone wire.

[0044] In the upstream direction the data from AFE passes thetime-domain equalizer (TEQ) to the input of FFT. A frequency-domainequalizer (FEQ) after the FFT equalizes the data from output of the FFT.The slicer following the FEQ finalizes the demodulation process and putsthe data back to the stream. The receiver framing and flow controlprocess re-organize the demodulated data and sends the data to the host.Each of the following section discusses the individual block in detail.

[0045] 5.1.1 Framing and Flow Control

[0046] To provides the flexible support to any kind of host networkinterface, MDSL DMT only assumes average backbone bandwidth. In manypractical applications the backbone traffic can be burst, e.g. in thecase that the host is a PC. Therefore, a buffer is typically requiredbetween the host and DMT modem. The depth of the buffer depends on theburst of host traffic. For shorter buffer size, there is possible thatin certain time period that receiver host takes data slower than thattransmitter host sends. One solution to this problem is to use positive“flow control” method which requires the transmission site to receive areply for a data packet having been sent before another data packet canbe transmitted.

[0047] In many cases the MDSL line connection is in the idle mode, i.e.there is no data transmission from one site to another. However, to keepthe synchronization of modem receiver, modem transmitter has to sendrandom scrambled dummy data when there is no real data transmission. Itis important to make the valid data distinguishable from the dummy data.One solution is to use packet data format. The typical packet hasheader, data and circular redundant code (CRC) fields for bitsynchronization, data transmission, and error detection as following:Header Header Data Data . . . Data CRC

[0048] The detail specification of flow control and framing is inreference [1].

[0049] To prevent consecutive “0”s and “1”s in the transmission streamand also to have stream as random as possible, the data packet isscrambled before its transmission. At the receiver the complementaryde-scrambling process converts the data stream back to its originalsequence. The scrambler is defined as

d′ _(n) =d _(n) {circle over (+)}d′ _(n-18) {circle over (+)}d′ _(n-23)

[0050] 5.1.2 Bit-loading and Constellation Encoding

[0051] As discussed in section 4, the channel capacity varies with thefrequency. Therefore the different frequency bin has differentconstellation size. As MDSL DMT is implemented with programmable DSP, itis desirable to have a common nested constellation covering alldifferent sizes. MDSL DMT uses maximum up to 8 bits constellation toreduce the precision requirements on DSP and AFE. The constellationencoding is therefore easily implemented with table lookup. FIG. 8 showsthe nested 256-QAM constellation mapping.

[0052] For nested constellation, the smaller constellation has loweraverage power. To achieve the channel capacity the transmission spectrumshould be flat across the band. Different size of constellation has tobe re-scaled as:

Z′ _(i) =g,(n)·Z _(i),

[0053] where complex number Z_(i)=X_(i)+j·Y_(i) is the output from theencoder of ith tone, and g(n) is the scaling factor of n-bitconstellation. The value of g(n) is shown in Table 2. TABLE 2 Gain tablefor constellation encoding n g (n) 2 9.219544 3 5.322906 4 4.123106 52.915476 6 2.011870 7 1.442051 8 1.000000

[0054] Since the number of bits on each tone distributes randomly acrossthe band, it is expensive for DSP to process random bit manipulations.To efficiently implement bit-loading algorithm for all the sub-carriers,instead of encoding each frequency sub-carrier individually, thesub-carriers can be grouped and encoded together [2]. During theinitialization process the modem receiver measures the channel SNR andcomputes the bit capacity of each sub-carrier. The tone index andcorresponding scaling factor are stored in the descending order of bittable. A sorting algorithm then groups the tones in a set, in which thesum of bits on each sub-carrier of the set is equal to 16. Then the toneindex and the corresponding scaling factor have to be re-ordered withthe matching group. Once all the sub-carrier find their matching group,the fast in line coding algorithm described in reference [2] providesbit encoding and complementary decoding methods.

[0055] 5.1.3 Transmitter IFFT and Receiver FFT

[0056] MDSL DMT divides the whole spectrum from 0 to 640 kHz into 128equally spaced sub-carriers. The sub-carriers 36 to 127 are used fordown-stream transmission and sub-carriers 4 to 27 for up-streamtransmission.

[0057] In MTU-C transmitter the inverse FFI has N=128 tones in equation(1). The lower part of tones are set to zero

X_(i)=0, i=0 to 35.

[0058] The tone 64 is used for pilot tone and is loaded with a constantcomplex value.

X₆₄A_(C-PILOT).

[0059] In MTU-C receiver the forward FFO has N=32 tones. In bothdownstream and upstream direction the FFT frame rate is the same as 4kHz. Therefore, the sample rate of receiver FFT is one quarter of thattransmitter IFFT.

[0060] 5.1.4 Clipping Control

[0061] The DMT modulation scheme has high peak to average output. Tomaintain a certain transmission power level the peak voltage of AFE hasto be high. This creates the problem for line driver design andpractical installation. DMT system usually uses hard clipping,interleaving and Reed-Solomon coding to reduce the signal peak toaverage ratio. However, since MDSL DMT may run without error correction,hard clipping is excluded from design consideration. An alternativeclipping protection mechanism is used to prevent the clipping noisedegradation [3].

[0062] At DMT transmitter the clipping event can be known as early asIFFT process. If clipping happens, instead of transmitting the output oftee, DMT transmitter simply sends out the pilot tone to inform thereceiver that the current frame has been corrupted and has been droppedfrom the stream. In the next two consecutive frames the DMT transmittersplits the clipped frame IFFT input into two separate transmissionframes as:${{{MTU}\text{-}C\quad {frame}\quad 1}:X_{i}^{\prime}} = \{ {{{\begin{matrix}{X_{i},} & {0 \leq i < 82} \\{0,} & {others}\end{matrix}{MTU}\text{-}R\quad {frame}\quad 2}:X_{i}^{\prime}} = \{ {\begin{matrix}{X_{i},} & {82 \leq i < 128} \\{A_{C - {PILOT}},} & {i = 64} \\{0,} & {others}\end{matrix}.} } $

[0063] For the clipped frame, there needs two additional frames todeliver the data and consequently causes two extra frame delay. Thisclipping induced burst can be handled with the framing and flow controlprocess. For example if a clipping threshold is set as high as that theprobability of clipping is less than 10⁻⁷, the adverse effect ofclipping control algorithm on the throughput is negligible. At MTU-R acomplementary process brings back the splitted frames together.

[0064] 5.1.5 Circular Prefix

[0065] As discussed in section 4, DMT typically needs circular prefix toprovide certain guard time between frames. Ideally the circular prefixshould be longer than the length of channel impulse response. However,the longer the circular prefix, the higher the overhead has to be addedto the real data frame. On the other hand if the circular prefix isshorter than the length of channel impulse response, at modem receiverDMT requires an additional time domain equalizer (TEQ) to shorten thechannel impulse response length within the circular prefix. Generallythe longer the channel impulse response length comparing to the circularprefix, the more TEQ taps are required to partially equalize thechannel. It is a trade-off between channel efficiency and implementationcomplexity. In the case of MDSL the usable cable bandwidth is broaderthan the DSP process bandwidth. Therefore the circular prefix is chosenlonger than that of ADSL in terms of the data frame percentage.

[0066] In the downstream direction, i.e. MTU-C transmitter, the circularprefix is 64 points out of the 256 points FFT frame size. In theupstream direction, i.e. MTU-C receiver, the circular prefix is 16points out of 64 points FFT size.

[0067] 5.1.6 Time Domain Equalizer (TEQ)

[0068] The objection of MDSL modem is to have low cost modem at theclient side. Therefore frequency division multiplexing (FDM) is chosenover echo cancellation (EC). FDM mode saves the computation power on theMTU-R side. However, since FDM modem transmitter has to use sharp analogfilter to cut off the echo signal, it introduces the long group delayfor MTU-C modem receiver to compensate. Actually the side effect may notbe severely bad since at MTU-C the receiver sampling rate is only onequarter of that MTU-C transmitter, and the MTU-C TEQ runs at thesampling rate.

[0069] At MTU-R side, the transmitter uses over-sampling technique toreduce the echo effect, refer to section 5.2.1. Since the Nyquist ratedoes not change, MTU-C receiver can use one half of sampling rate thatMTU-R transmitter uses. After TEQ as MTU-C uses half the sampling rateof MTU-R, the MTU-C receiver removes 16 points of circular prefixinstead of 32 points that MTU-R transmitter puts on before doing FFTprocess.

[0070] To keep TEQ tape short at the MTU-R, the MTFU-C transmitterfilter has to be carefully designed to have short group delay.

[0071] 5.1.7 Frequency Domain Equalizer (FEQ) and Phase Rotator

[0072] Frequency domain equalizer (FEQ) flats the received signalspectrum and compensates the phase distortion. The slicer after the FEQmakes the hard decision on the transmitting signals. The errors obtainedbetween the FEQ output and the slicer output can further be used toupdate the FEQ coefficients. However, since the signal amplitude on eachsub-carrier dramatically changes with the frequency, the convergencespeed of FEQ for each sub-carrier are not uniform. The FEQ convergencespeed spread is similar to general eigenvalue spread problem. To solvethe non-uniform convergence problem of FEQ, instead of a single FEQ, thetwo stage combination of FEQ and phase rotator is used on MDSL DMTreceiver [4]. The FEQ roughly compensates the amplitude variation andthe phase rotator further tracks the small variation of the channel.

[0073] 5.2 MTU-R Specification

[0074] MTU-R has almost the same function blocks as MTU-C except thatMTU-R is responsible for timing recovery. The function blocks: framingand flow control, bit loading and constellation encoding, FEQ and phaserotator are the same as MTU-C. Their specifications do not repeat here.

[0075] 5.2.1 Transmitter IFFT and Receiver FFT

[0076] MDSL DMT uses tones 0 to 31 for upstream transmission. However,since in the MTU-R transmitting path the analog filter may not offerenough frequency cut-off, the transmitter =FT covers 64 tones and setsthe upper 32 tones to zero as:

X_(j)=0, for j=32 to 64.

[0077] This gives additional 20 dB attenuation in the stop band. Bothdown-stream and up-stream use 4 kHz frame rate. Since the Nyquist toneindex is 32 for up-stream, to cover the double size 64 tones FFT thesampling rate has to be doubled comparing with 32 tones FFT. At theMTU-R receiver, the echo signal from tone 32 to 64 overlaps withincoming signal. If the echo signal and the incoming data signal alignin frame and there is no ISI, the echoes at the tone 32 to 64 are zerosince there is no loading on those tones. It is desirable to set thetransmission timing so that the echo signal frame aligns with theincoming signal frame.

[0078] For MTU-R receiver FFT, to be a complementary process of MTU-Ctransmitter IFFT, the receiver FFT has 128 tones and therefore is 256real transform.

[0079] 5.2.2 Clipping Control

[0080] In the upstream direction MTU-R uses the same idea as thedownstream to handle the clipping. Since there is no need for pilot tonein the up-stream direction, the MTU-R transmitter sends the silenceframe as the clipping indicator when the clipping at transmitter occurs.As in 5.1.4 when the clipping has been detected the MTU-R splits theframe in two for consecutive transmission:${{{frame}\quad 1}:X_{j}^{\prime}} = \{ {{{\begin{matrix}{X_{j},} & {{{for}\quad 0} \leq j < 32} \\{0,} & {{{for}\quad 32} \leq j < 64}\end{matrix}{frame}\quad 2}:X_{j}^{\prime}} = \{ {\begin{matrix}{0,} & {{{for}\quad 0} \leq j < 16} \\{X_{j},} & {{{for}\quad 16} \leq j < 32} \\{0,} & {{{for}\quad 32} \leq j < 64}\end{matrix}.} } $

[0081] 5.2.3 Circular Prefix

[0082] In the MTU-R transmission path, since DMT uses the over-samplingIFFT to reduce the signal echo at the receiver, the IFFT output has 128samples. To have the same over-head ratio as down-stream the length ofthe circular prefix is chosen for 32 points.

[0083] 5.2.4 Timing Recovery

[0084] In MDSL implementation, MTU-C provides the master clock. MTU-Rdoes the timing recovery to recover the MTU-C master clock at the clientside. MTU-R uses the same recovered down-stream clock for up-streamtransmission. Therefore If the clock of MTU-C receiver locks to itstransmitter, MTU-C does not need to recover the timing at the centraloffice.

[0085] For low cost implementation a numerically controlled oscillator(NCO) instead of VCXO is used to track the transmitter clock. NCO isbasically a discrete digital divider to divide a high frequency masterclock down to an appropriate sampling frequency. Assuming the nominaldividing ratio is N, if the local clock runs too slow then the dividingratio can reduce to N−1, on the other hand if the local clock runs toofast the dividing ratio should increase to N+1.

[0086] A digital filter runs in parallel with FFT to filter out thepilot tone. A first order IIR filter provides a good result for thesinusoid pilot tone. Both “sin” and “cos” signals can be obtained byshifting one with respecting to the other. By using both “sin” and “cos”signals the exact sampling phase can be measured. The phase error thendrives the phase locked loop (PLL).

[0087] The pilot tone also appears at the output of the receiver FFT.However, since at the output of receiver FFT, the phase of the pilottone not only depends on the sampling phase also depends on the startingof the frame, it can be used for frame synchronization.

[0088] 6. Initialization

[0089] To have MTU-C and MTU-R modem pair talk to each other after powerup, they have to exchange activation information to check if the othermodem is ready to communicate. If both ends agree to set up thecommunication link, the modem pair need to synchronize one to the otherand train each others equalizer. For DMT the modem transmitter also needto know the channel condition to determinate bit loading on each tone.All these process are handled by a initialization training protocol. Thedetailed initialization protocol is described in [5].

DMT MDSL Initialization Procedure

[0090] I. Introduction

[0091] MDSL transceiver initialization process allows MDSL remote modem(MTU-R) sets up the call connection with MDSL central office modem(MTU-C). The MTU-R modem always initialize connection request after itspower-up as in ADSL. If IMTU-C modem is ready, MTU-C modem shouldrespond to the MTU-R request by sending the activation tones. MTU-R usesR-ACK3 to acknowledge the activation signal from MTU-C and todistinguish MDSL remote modem from a standard ADSL modem. MDSL remotemodem is inter-operable with a standard ADSL modem during thisactivation process and is able to allow ADSL central office modemrecognizing the remote MDSL modem.

[0092] After the activation process both central office modem and remotemodem will know each other's MDSL identity. The modem pair can continuewith the MDSL handshakes and train the equalizers on both ends. The MDSLtransceiver training process is different from that of the ADSL. MDSLmodem uses its improved training sequence for synchronization, time andfrequency domain equalizers (TEQ and FEQ) training. During thetransceiver training process the modems on both ends can also roughlyestimate the channel attenuation and adjust its transmission power.

[0093] After the transceiver training process, the modem on each endneeds to send a known sequence to the other end to measure the channelSNR. Based on the measured channel SNR the modem receiver computesbit-loading using the algorithm described in [1].

[0094] Finally the modem receiver sends the bit-loading information tothe transmitter end for constellation encoding. The entireinitialization procedure is shown in FIG. 1. FIG. 1 Overview ofinitialization MTU-C Activation and Transceiver training Channelanalysis Exchange acknowledgment MTU-R Activation and Transceivertraining Channel analysis Exchange acknowledgment

[0095] II. Initialization FIG. 2 Timing Diagram of Activation andAcknowledgment C-IDLE C-QUITE1/C-TONE C-ACT 1, 2, 3, or 4 C-QUITE2R-ACT-REQ/R-QUITE1 R-ACK3

[0096] 1. Activation and Acknowledgment—MTU-C

[0097] MDSL MTU-C uses the same pre-active states as in ADSL foractivation.

[0098] 1.1 Pre-activate State

[0099] As in ADSL three pre-activation states at the MTU-C aresupported.

[0100] 1.1.1 C-IDLE1

[0101] Upon power-up the MTU-C shall enter state C-IDLE. When the MTU-Cis in C-IDLE, a command from the host controller shall cause it go toone of the states C-QUITE1, C-TONE or C-ACT.

[0102] 1.1.2 C-QUITE1

[0103] The MTU-C shall enter C-QUITE1 from C-IDLE in response to a hostcommand. A successful detection of R-ACT-REQ shall cause it to go tostate C-ACT.

[0104] IDLE and QUITE signals are defined as zero output voltage fromthe DAC.

[0105] 1.1.3 C-TONE

[0106] The MTU-C shall transmit C-TONE to instruct the MTU-R not totransmit R-ACT-REQ. C-TONE is a single frequency sinusoid atƒ_(C-TONE)=310.5 kHz. C-TONE is defined as$X_{k} = \{ \begin{matrix}{0,{k \neq 72},{0 \leq k \leq 256}} \\{A_{C - {TONE}},{k = 72}}\end{matrix} $

[0107] where A_(C-TONE) shall be such that the transmit power level is−4 dBm for the first 64 symbols, and −28 dBm for the second 64 symbols.This signal shall be transmitted for 128 consecutive symbols. C-IDLEimmediately follows C-TONE.

[0108] 1.2 C-Activate

[0109] To be compatible with ADSL in the activation stage any one of thefour activation signals can be used.

[0110] 1.2.1 C-ACT1

[0111] C-ACT1 is a single frequency sinusoid at ƒ_(C-ACT1)=207 kHz.C-ACT1 is defined as $X_{k} = \{ {\begin{matrix}{0,{k \neq 48},{0 \leq k \leq 256}} \\{A_{C - {ACT}},{k = 48}}\end{matrix}.} $

[0112] 1.2.2 C-ACT2

[0113] C-ACT2 is a single frequency sinusoid at ƒ_(C-ACT1)=189.75 kHz.C-ACT2 is defined as $X_{k} = \{ {\begin{matrix}{0,{k \neq 44},{0 \leq k \leq 256}} \\{A_{C - {ACT}},{k = 44}}\end{matrix}.} $

[0114] 1.2.3 C-ACT3

[0115] C-ACT3 is a single frequency sinusoid at ƒ_(C-ACT3)=224.25 kHz.C-ACT3 is defined as $X_{k} = \{ {\begin{matrix}{0,{k \neq 52},{0 \leq k \leq 256}} \\{A_{C - {ACT}},{k = 52}}\end{matrix}.} $

[0116] 1.2.4 C-ACT4

[0117] C-ACT4 is a single frequency sinusoid at ƒ_(C-ACTA4)=258.75 kHz.C-ACT3 is defined as $X_{k} = \{ {\begin{matrix}{0,{k \neq 60},{0 \leq k \leq 256}} \\{A_{C - {ACT}},{k = 60}}\end{matrix}.} $

[0118] The power level for A_(C-ACT) is −4 dBm for the first 64 symbols,and −28 dBm for the second 64 symbols. C-QUITE2 immediately followsC-ACT.

[0119] 1.3 C-QUITE2

[0120] The purpose of C-QUITE2 is to allow the detection of R-ACK3.After C-QUITE2, MTU-C shall enter one of two states:

[0121] C-REVEILLE: If the MTU-C detects R-ACK3 it shall enter the stateC-REVEILLE.

[0122] C-IDLE1: If the MTU-C does not detect R-ACK3 it shall return toC-IDLE1.

[0123] 2. Activation and Acknowledgment—MTU-R

[0124] The MTU-R sends R-ACT-REQ for requiring connection set up anduses R-ACK3 for MDSL identification.

[0125] 2.1 R-ACT-REQ

[0126] MTU-R initiate a communication link by transmitting R-ACT-REQafter power up. It is a single sinusoid at ƒ_(R-ACT-REQ)=34.5 kHz, whichis defined by $X_{k} = \{ {\begin{matrix}{0,{k \neq 8},{0 \leq k \leq 32}} \\{A_{R - {ACT} - {REQ}},{k = 8}}\end{matrix}.} $

[0127] The transmission power level of A_(R-ACT-REQ) is −2 dBm(approximately −38 dBm/Hz over 4.3125 kHz) for the first 64 symbols and−22 dBm for the second 64 symbols, and A_(R-ACT-REQ)=0 for the next 896symbols. This signal is transmitted for 1024 consecutive symbols.

[0128] The MTU-R shall stay in R-ACT-REQ until either

[0129] a successful detection of C-ACT signal from the MTU-C, in whichcase the MTU-R shall enter R-ACK as soon as the fill duration of C-ACTsignal has been detected;

[0130] a successful detection of C-TONE signal from the MTU-C, in whichcase the MTU-R shall enter R-QUIET.

[0131] 2.2 R-QUIET1

[0132] The duration of R-QUIET1 depends upon whether the MTU-R detectsC-ACT:

[0133] if the MTU-R detects C-ACT it shall immediately enter R-ACK;

[0134] if it does not, it shall remain quiet for 240,000 symbols and there-enter R-ACT-REQ.

[0135] 2.3 R-ACK3

[0136] R-Acknowledge is an acknowledgment of the detection of C-ACT.Three acknowledge signals are defined by T1E1 committee. The uses ofR-ACK1 and R-ACK2 are pre-defined for ADSL; R-ACK3 is used for this MDSLmodem. It is a single sinusoid at ƒ_(R-ACK3)=60.375 kHz defined by$X_{k} = \{ \begin{matrix}{0,{k \neq 14},{0 \leq k \leq 32}} \\{A_{R - {ACK3}},{k = 14}}\end{matrix} $

[0137] where A_(R-ACK3) shall be such that the transmit power level is−2 dBm for the first 64 symbols and −22 dBm for the second 64 symbols.This signal shall be transmitted for 128 consecutive symbols. R-QUIET2follows immediately after R-ACK3. FIG. 3 Timing Diagram of TransceiverTraining. C-PILOT1 C-QUITE3 C-REVERB1 C-PILOT2 C-REVERB2 C-SYNC1R-QUITE2 R-REVERB1 R-QUITE3 R-REVERB2 R-QUITE4 R-REVERB3 R-SYNC1

[0138] 3. Transceiver Training—MTU-C

[0139] MTU-C starts transceiver training by sending C-PILOT1 down-streamto acknowledge that R-ACK3 has been received. In MDSL only MTU-R canperform loop timing. MTU-C and MTU-R train their time and frequencydomain equalizer (TEQ and FEQ) alternatively.

[0140] 3.1 C-PLOT1

[0141] C-PILOT1 is a single frequency sinusoid at ƒ_(C-PILOT)=276 kHz,defined by $X_{k} = \{ {\begin{matrix}{0,{k \neq 64},{0 \leq k \leq 256}} \\{A_{C - {PILOT1}},{k = 64}}\end{matrix}.} $

[0142] The power level of A_(C-PILOT1) is −4 dBm, and the duration is512 symbols. C-PLOT1 shall be used as an acknowledgment of the detectionof R-ACK. C-QUITE3 follows C-PILOT1.

[0143] 3.3 C-QUITE3

[0144] During C-QUITE3 the MTU-C measure the received upstream power ofR-REVERB1 and thereby calculate a downstream PSD. MTU-C shall stay inC-QUITE3 for at least 1024 symbols before entering C-REVERB1.

[0145] 3.3 C-REVERB1

[0146] C-REVERB1 is a signal that allows the MTU-R receiver to adjustits AGC to an appropriate level, perform frame synchronization andtime-domain equalizer (TEQ) training. The C-REVERB1 shall be thepseudo-random down stream sequence, d_(n), for n=1 to 320. The sequenced_(n) is defined as: d_(n) = 1 for n = 1 to 9 d_(n) = d_(n−4) ⊕ d_(n−9)for n = 10 to 304 d_(n) = 1 for n = 305 to 320,

[0147] and repeats every frame. The bits are mapped to a time domainbinary signal without modulation. The polarity of the mapping flipsevery two frames. ${{sgn}( y_{n} )} = \{ \begin{matrix}{{{sgn}( {{2 \cdot d_{n}} - 1} )},{{for}\quad {frame}\quad 0},1} \\{{{sgn}( {{{- 2} \cdot d_{n}} + 1} )},{{for}\quad {frame}\quad 2},3}\end{matrix} $

[0148] The binary time domain signal y_(n) is then mixed with the timedomain signal C_(C-PILOT1) of C-PILOT1 as

y_(n)+C_(C-PILOT1).

[0149] The signal repeats every four frames with transmission PSD asUpstream received power < 3 4 5 6 7 8 9 dBm Max downstream PSD −40 −42−44 −46 −48 −50 −52 dBm/Hz

[0150] The duration of C-REVERB1 is 8192 symbols. C-PILOT2 followsC-REVERB1 immediately.

[0151] 3.4 C-PILOT2

[0152] The signal of C-PILOT2 is the same as that of C-PILOT1. DuringC-PILOT2 MTU-C detects R-REVERB2 to adjust its AGC, perform framesynchronization, and TEQ training. The duration of C-PILOT2 shall be9232 symbols. C-REVERB2 follows C-PILOT2.

[0153] 3.5 C-REVERB2

[0154] C-REVERB2 is a frequency domain training sequence for MTU-R FEQtraining. The sequence d_(n), which is d_(n) = 1 for n = 1 to 9 d_(n) =d_(n−4) ⊕ d_(n−9) for n = 10 to 256,

[0155] repeats itself every frame. The sequence d, is mapped tofrequency domain 4-QAM constellation points. The mapping polaritiesalternates every frame: sgn (X_(t)) sgn (Y_(i)) for odd frame sgn (2 ·d_(2i) − 1) sgn (2 · d_(2i+1) − 1) for even frame sgn (−2 · d₂₁ + 1) sgn(−2 · d_(2t+1) + 1).

[0156] The time domain signal is inverse FFT of X with circular prefix.The transmission PSD is −40 dBm/Hz. The duration is 4096 frames. (the4096^(th) frame is with even frame polarity) After the C-REVERB2 MTU-Centers C-SYNC1.

[0157] During the C-REVERB2 MTU-C also detects R-QUITE4 and R-REVERB3and starts to train its FEQ.

[0158] 3.6 C-SYNC1

[0159] C-SYNC1 is two consecutive frames with the same odd framepolarity as in the C-REVERB2 to synchronize the FEQ polarity of FEQ.C-MEDLEY follows the C-SYNC1 immediately.

[0160] 4. Transceiver Training—MTU-R

[0161] 4.1 R-QUITE2

[0162] R-QUITE2 is the period to allow MTU-R receiving MDSLacknowledgment C-PILOT1. The duration for C-QUITE2 is 544 symbols+MTU-Renters one of the following states after the R-QUITE2

[0163] R-REVERB1 if C-PILOT1 is received.

[0164] R-ACT-REQ if C-PILOT1 is not received.

[0165] 4.2 R-REVERB1

[0166] R-REVERB1 is a signal that allows the MTU-C to calculatedownstream PSD. The R-REVERB1 shall be the pseudo-random up streamsequence, d_(n), for n=1 to 80. The sequence d_(n) is defined as: d_(n)= 1 for n = 1 to 11 d_(n) = d_(n−5) ⊕ d_(n−6) for n = 12 to 74 d_(n) = 1for n = 75 to 80,

[0167] and repeats every frame. A time domain binary signal are mappedfrom sequence d_(n) without modulation. The polarity of the mappingflips every two frames.${{sgn}( y_{n} )} = \{ \begin{matrix}{{{sgn}( {{2 \cdot d_{n}} - 1} )},{{for}\quad {frame}\quad 0},1} \\{{{sgn}( {{{- 2} \cdot d_{n}} + 1} )},{{for}\quad {frame}\quad 2},3}\end{matrix} $

[0168] The signal repeats every four frames with transmission PSD as −40dBm/Hz. The period of R-REVERB1 is 1024 symbols. MTU-R enters R-QUITE3after R-REVERB1.

[0169] During R-REVERB1 MTU-R can also measure the echo path and echodelay and train its pseudo echo chancellor.

[0170] 4.3 R-QUITE3

[0171] R-QUITE3 is the period that MTU-R adjusts its AGC, detectsC-REVERB1, performs frame synchronization, and train its TEQ. The periodis 8192 symbols. R-REVERB2 follows R-QUITE3.

[0172] 4.4 R-REVERB2

[0173] R-REVERB2 is the same as R-REVERB1 to train MTU-C TEQ. Theduration of R-REVERB2 is 8192 symbols. After the R-REVERB2 MTU-R entersR-QUITE4.

[0174] 4.5 R-QUITE4

[0175] R-QUITE4 is the period to allow MTU-C transiting from TEQtraining to FEQ training. After 16 symbols of R-QUITE4 MTU-R entersR-REVERB3.

[0176] 4.6 R-REVERB3

[0177] R-REVERB3 is a frequency domain training sequence for MTU-R FEQtraining. The sequence d_(n), which is d_(n) = 1 for n = 1 to 6 d_(n) =d_(n−5) ⊕ d_(n−6) for n = 7 to 64,

[0178] repeats itself every frame. The sequence d_(n) is mapped tofrequency domain 4-QAM constellation points. The mapping is as:sgn(X_(i)) sgn(Y₁) sgn(2 · d_(2i) − 1) sgn(2 · d_(2i+1) − 1)

[0179] The time domain signal is inverse FFT of X with circular prefix.The transmission PSD is −40 dBm/Hz. The duration is 4080 frames. Afterthe R-REVERB3 MTU-R enters R-SYNC1.

[0180] 4.7 R-SYNC1

[0181] R-SYNC1 is the synchronization frame with inverse polarity as:sgn(X_(t)) sgn(Y_(i)) sgn(−2 · d_(2i) + 1) sgn(−2 · d_(2t+1) + 1).

[0182] MTU-R enters R-MEDLEY immediately after the R-SYNC1. FIG. 4Timing Diagram of Channel Analysis C-MEDLEY C-SYNC2 R-MEDLEY R-SYNC2

[0183] 5 Channel Analysis—MTU-C

[0184] During channel analysis both MTU-C and MTU-R measure upstream anddownstream SNRs compute bit-loading, packing and unpacking algorithms.

[0185] 5.1 C-MEDLEY

[0186] C-MEDELEY is a wide band pseudo-random signal used for estimationat the MTU-R of the downstream SNR The pseudo-random sequence is definedas

d′ _(n) =d _(n){circle over (+)}d′ _(n-18) {circle over (+)}d′ _(n-23)

[0187] starting with $d_{n} = \{ {\begin{matrix}{0,} & {n = { 1 \sim 22}} \\{1,} & {n = 23}\end{matrix}.} $

[0188] The sequence d_(n) modulates to 4-QAM constellation of each DMTsub-carrier except for the pilot tone. The constellation mapping is as:

[0189] MTU-C should stay in C-MEDLEY until either one of following twoscenarios happens

[0190] If MTU-C receives R-SYNC2, MTU-C enters C-SYNC2.

[0191] If MTU-C cannot receive R-SYNC2 for 10 seconds, MTU-C entersC-IDLE.

[0192] During C-MEDLEY should also measure upstream SNR with signalR-MEDLEY, and compute upstream bit-loading, packing and unpackingalgorithm.

[0193] 5.2 C-SYNC2

[0194] C-SYNC2 is two synchronization frames the same as odd even framepair in the C-REVERB2. C-REVERB3 follows C-SYNC2 immediately.

[0195] 6 Channel Analysis—MTU-R

[0196] 6.1 R-MEDLEY

[0197] R-MEDELEY is a wide band pseudo-random signal used for estimationat the MTU-C of the downstream SNR. The pseudo-random sequence isdefined as

d′ _(n) =d _(n) {circle over (+)}d′ _(n-18) {circle over (+)}d′ _(n-23)

[0198] starting with $d_{n} = \{ {\begin{matrix}{0,} & {n = { 1 \sim 22}} \\{1,} & {n = 23}\end{matrix}.} $

[0199] The sequence d_(n) modulates to 4-QAM constellation of each DMTsub-carrier. The constellation mapping is as:

[0200] During R-MEDLEY should also measure upstream SNR with signalC-MEDLEY, and compute upstream bit-loading, packing and unpackingalgorithm.

[0201] MTU-R should stay in R-MEDLEY for at least 32767 symbols beforeentering R-SYNC2.

[0202] 6.2 R-SYNC2

[0203] R-SYNC2 is the same as R-SYNC1 for message synchronization.R-MSGS 1 follows R-SYNC2 immediately. FIG. 5 Timing Diagram of ExchangeC-REVERB3 C-SYNC3 C-MSGS1 C-REVERB4 C-SYNC4 R-MSGS1 R-REVERB4 R-SYNC4

[0204] 7 Exchange MTU-C

[0205] 7.1 C-REVERB3

[0206] C-REVERB3 is the same as C-REVERB1 to keep the synchronization ofthe MTU-R while MTU-R sends R-MSGS1. MTU-C should stay in C-REVERB3until MTU-C has received entail R-MSGS1. C-SYNC3 follows the C-REVERB3.

[0207] 7.2 C-SYNC3

[0208] C-SYNC3 is the same as C-SYNC2 to indicate the beginning ofC-MSGS1. C-MSGS1 follows C-SYNC3 immediately.

[0209] 7.3 C-MSGS1

[0210] C-MSGS1 is the up-stream bit-loading message. The message istransmitted at 2 kbps, i.e., 2 frames per bit. The bit signal is similarto that of C-SYNC3. If (+,−) is frame polarity to represent the C-SYNC3,then in C-MSGS1 (+,−) represents “0” and (−,+) represents “1”. MTU-Centers C-REVERB4 after the C-MSGS1.

[0211] 7.4 C-REVERB4

[0212] C-REVERB4 is the same as C-REVERB3. During the C-REVERB4 bothMTU-C and MTU-R set up its encoding algorithm and is ready for datacommunication. Since down stream uses more tones than the upstream,MTU-C enters C-SYNC4 after it finishes the encoding set up.

[0213] 7.5 C-SYNC4

[0214] C-SYNC4 is the same as C-SYNC3 to start the real data down-streamtransmission. MTU-C enters show-time mode immediately after the C-SYNC4.

[0215] 8 Exchange MTU-R

[0216] 8.1 R-MSGS1

[0217] R-MSGS1 is the down-stream bit-loading message. The message istransmitted at 4 kbps, i.e., one frames per bit. The bit signal issimilar to that of R-SYNC2. If - is frame polarity to represent theR-SYNC2. then in R-MSGS1 + represents “0” and − represents “1”. MTU-Renters R-REVERB4 after the C-MSGS1.

[0218] 8.2 R-REVERB4

[0219] R-REVERB4 is the same as the R-REVERB3. During the R-REVERB4MTU-R receives C-MSGS1 and sets up its upstream encoding algorithm.MTU-R should stay in R-REVERB4 until it receives C-SYNC4 and then entersR-SYNC4.

[0220] 8.3 R-SYNC4

[0221] R-SYNC4 is the same as R-SYNC3 to start the real data down-streamtransmission. MTU-R enters show-time mode immediately after the R-SYNC4.

Adaptive Full Dynamic Range Frequency Domain Equalizer for DMT basedxDSL Modem

[0222] 1. Introduction:

[0223] In a Discrete Multi-Tone modem receiver, the channel equalizationis typically contributed by separate time domain and frequency domainequalizers. Time domain equalizer (TEQ) shorts the channel impulseresponse, therefore reduces the inter-symbol interference. The frequencydomain equalizer implemented on each sub-carrier equalizes the channelamplitude and phase distortions at the sub-carrier frequency. The blockdiagram for a typical DMT receiver is shown in FIG. 1.

[0224] For a typical twisted cooper wire loop, the frequency responsediffers dramatically across band as shown in FIG. 2. Since ADSL uses thefrequency band from 0 to 1 MHz, the received signal at each frequencywill have up to 30 dB dynamic range. The frequency domain equalizer(FEQ) has to flatten this received signal spectrum. Typically thecoefficients of FEQ has to be dynamically updated to compensate thesmall loop drift using least mean square (LMS) algorithm. However, sincethe convergence speed depends on the signal amplitude, the divergence inthe signal amplitude adversely affects FEQ convergence. In this workseparated fixed gain corrector and adaptive phase rotator are inventedto compensate wide dynamic range difference in incoming signals.

[0225] 2. Convergence of the FEQ

[0226] Assuming FEQ at frequency bin n is G(n), n is the frequency binindex, the equalized data at the equalizer output is then

Y(n)=G(n)*X(n).  (1)

[0227] The value of FEQ G(n) can be initialized during the trainingprocess and updated on the fly using LMS algorithm

G _(k-1)(n)=G _(k)(n)+μ*e(n)*X ^(•)(n)  (2)

[0228] where e(n) is the error signal obtained from the slicer. When FEQis updated on the fly with the decision directed computation, themaximum value of e(n) is bounded by the decision region and isindependent of frequency bins. However, since X(n) follows the channelresponse shown in FIG. 2, it ranges 30 dB difference in amplitude. Therelative speed in convergence for different bins is then $\begin{matrix}{\begin{matrix}{{\Delta (n)} = \frac{{G_{k + 1}(n)} - {G_{k}(n)}}{G(n)}} \\{= \frac{\mu*{e(n)}*{X^{*}(n)}*{X(n)}}{Y(n)}}\end{matrix}\quad} & (3)\end{matrix}$

[0229] The variance of the equalized data Y(n) is relatively smallcomparing to that of X(n). The amplitude of Y(n) can be approximated asa constant. The convergence speed Δ(n) then differs dramatically amongeach frequency bins because it is proportional to |X(n)|². Practically,the step size Δ(n) has to be limited within certain range. If the stepsize is too big, it will cause instability of the LMS algorithm. On theother hand if the step size is too small, it will not compensate thechannel change fast enough.

[0230] 3. Invention of the Work:

[0231] To compensate the convergence speed spread problem in DMTreceiver, we splits the FEQ into a gain corrector F(n) and a phaserotator R(n) as shown in FIG. 3. The combined effect of gain correctionand phase rotation is then:

G(n)=F(n)*R(n).  (4)

[0232] The purpose of the gain corrector is to roughly compensate thechannel frequency roll-off, and makes each tone to have approximatelythe same amplitude before the phase rotator. The value of the gaincorrector F(n) is set as F(n)≈G(n) during the initialization trainingprocess, and leaves it unchanged. The channel variation is subsequentlytracked by updating the phase rotator R(n) with LMS algorithm.

R _(k+1)(n)=R _(k)(n)+μ*e(n)*F ^(•)(n)*X ^(•)(n),  (5)

[0233] since

Y(n)=F(n)*R(n)*X(n).  (6)

[0234] As R(n) starts at R₀(n)=1 and is mostly only for compensating thephase rotation, the amplitude of R(n) will be close to unit. Therelative speed of convergence on R(n) is $\begin{matrix}{\begin{matrix}{{\delta (n)} = \frac{{R_{k + 1}(n)} - {R_{k}(n)}}{R(n)}} \\{= {\frac{\mu*{e(n)}*{F^{*}(n)}*X*(n)}{R(n)}\quad.}}\end{matrix}\quad} & (7)\end{matrix}$

[0235] Since |R(n)|≈1, the absolute step size of (7) is

|δ(n)|≈|μ*e(n)*Y(n)|,   (8)

[0236] which is almost independent of tone index, because the size ofboth e(n) and Y(n) are the same for every tones.

[0237] In summary, to balance the FEQ convergence speed of eachdifferent tones, a gain corrector and a phase rotator are used toreplace the single tap FEQ. The fixed gain corrector is to roughly scalethe each tone distorted by the channel to the approximately sameamplitude. The dynamically adapted phase rotator further tracks smallchannel variation. Since the input amplitude of phase rotator for eachtone is approximately same, the convergence speed of each phase rotatoris uniform

MDSL-DMT Bit-Loading Setup

[0238] 1. Introduction

[0239] During DMT modem initialization or channel adapting, the twosites, CO (Central Office) and RU (Remote Unit) need exchanging messagefor channel utilization, data rate negotiation and tone ordering.Channel utilization means how many bits will be signed to eachsub-channel (or tone). The said channel has 128 sub-channels fordownstream (CO to RU) and 32 sub-channels for upstream (RU to CO). Datarate negotiation will follow channel setup and tell the system how manybits per seconds the current channel can transmit for downstream andupstream. The both sites also need to tell each what is the tone orderfor the data stream, which tone comes first and which tone comes laterto load the bits from said data stream. This document specifies themessage format and its setup procedure for said exchange.

[0240] 2. Bit-Loading Setup

[0241] Both CO and RU send and receive QAM signal to/from each other atthe same time. Once collected enough data, both sites will calculate thegains from the divagation (a kind of error distribution from receivedsignal) on all sub-channels or tones. Each tone has different gain thencan be signed with different bits and corresponding power coefficient.When finished bit-loading setup, the setup table (see BitLoadSetupTableformat) will be sent to other site for encoding setup. FIG. 1 describesthe program flow and the data flow for the both sites.

[0242] The BitLoadSetup procedure describes the program flow and thedata flow for the both sites, CO and RU. The both sites are similar butRU might run slower because of more data (more tones from CO) to beestimated. The WAIT process can let CO and RU run balanced.

[0243] The BitLoadSetupTable format shows the both message tablesexchanged from each site, CO and RU. Both CO and RU can setup itsdecoding but needs each other's BitLoadSetupTable to setup its encoding.

[0244] 3. Bit Rate Negotiation

[0245] CO and RU can negotiate bit rate with each other by readingBitRateUP sent from RU and reading BitRateDown sent from CO. MacIndLenCOand MacIndLenRU can also be used for bit-rate negotiation, which twovariables are the total numbers of 16-bit words per DMT frame.

[0246] The both CO and RU site setup its bit rate upon the bit-loadinginitialization. Once the system estimated the channel and calculated howmany bits for each sub-channel, the bit rate can be set by counting thebits on all sub-channel s. The bit rate is formatted as how many kbpswith increment of 80 kbps.

[0247] Down Stream Bit Rate (CO to RU): BitRateDown (seeBitLoadSetupTable Format) can be read from the data block from CO to RUafter the bit-loading setup.

[0248] Up Stream Bit Rate (RU to CO): BitRateUP (see BitLoadSetupTableFormat) can be read from the data block from RU to CO after thebit-loading setup.

[0249] Total Number of 16-bit words per DMT frame: MacIndLenCO is themacro index length of CO, it also equals to the total number of 16-bitwords per DMT frame. MacIndLenRU is the macro index length of RU and thetotal number of 16-bit words per DMT frame.

[0250] 4. BitloadSetupTable Format

[0251] 4.1 Structure of BitLoadSetupTableCO (CO to RU):

[0252] BitLoadSetupTableCO describes the data block sending from CO sideto RU side. They carry the information for both sides to setup thesystem for bit loading. The major purposes are bit rate negotiation, bitloading initialization and transmission error control. Name of ItemsNumber of Bits Notes BitLoaddHeadCO 16 = 0x0F0F CheckSumCO 16 check sumfor error control TotalBitsCO 16 total data length NumToneCO 16 # oftones NumToneUsedCO 16 # of tones Used for bit loading FrameRateDown 16= 5 kHz/s BitRateDown 16 down stream bit rate MacIndLenCO 16 macro indexblock length GainRateCO 16 gain rate GainBitIncCO 16 gain-to-bitincrement TableTempCO1 16 temp variable TableTempCO2 16 temp variableGainEncCO[ ] 16 × NumToneCO encode gains MacIndCO[ ] 16 × NumToneCOmacro index data block ToneIndCO[ ] 16 × NumToneCO tone index data block

[0253] 4.1.1 BitLoadHeadCO

[0254] BitLoadHeadCO denotes the head information of theBitLoadSetupTableCO data structure. Its default value equals0000111100001111 in binary, or 0x0F0F in hex.

[0255] 4.1.2 CheckSumCO

[0256] CheckSumCO defines the sum of all sending words but itself,accumulated in every 16 bits. It can be used for error control andprogram debugging.

[0257] 4.1.3 TotalBitsCO

[0258] TotalBitsCO=16 (12+3 NumToneCO). This is the total bits from COto RU, including BitLoadHeadCO, CheckSumCO, itself and all followingitems.

[0259] 4.1.4 NumToneCO

[0260] NumToneCO equals the number of tones from CO to RU, the defaultsetting is 90.

[0261] 4.1.5 NumToneUsedCO

[0262] NumToneUsedCO denotes Number of Tones Used sending from CO to RU.This number is dependent on the bit loading algorithm and the randomdata. NumToneUsedCO is less than or equal to NumToneCO because sometones may not be used to carry any bit either those subchannels or tonesare too noisy or those tones can not be grouped into one word (16-bit).

[0263] 4.1.6 FrameRateDown

[0264] FrameRateDown denotes Frame Rate for Downstream connection (CO toRU). The default setting is 5 kHz.

[0265] 4.1.7 BitRateDown

[0266] BitRateDown denotes Bit Rate for Downstream connection (CO to RU,in kbps, increment by 80 kbps)

[0267] 4.1.8 MacIndLenCO

[0268] MacIndLenCO equals to the Length of Macro Index data block, ortotal number of 16-bit words per frame, from CO to RU, which is variabledependent on channel. Its minimum and maximum value is NumToneCO×2/16(min.), NumToneCO×8/16 (max.).

[0269] 4.1.9 GainRateCO

[0270] GainRateCO is the Gain Rate for the downstream to adjust thegain. It will be used for GainEncCO[ ].

[0271] Gain=GainRateCO * Divagation, where the divagation is fromchannel estimation.

[0272] 4.1.10 GainBitIncCO

[0273] GainBitIncCO denotes Gain-to-Bit Increment, mapping the gain tobit.

[0274] 4.1.11 TableTempCO1

[0275] TableTempCO1 is the first temporal variable sending from CO toRU.

[0276] 4.1.12 TableTempCO2

[0277] TableTempCO2 is the second temporal variable sending from CO toRU.

[0278] 4.1.13 GainEncCO[cNumToneCO]

[0279] GainEncCO[cNumToneCO] is a sub table of data for Encode Gains forCO.

[0280] GainEnc[ ]=GainRateCO * Divagation[ ], where the divagation isfrom channel estimation.

[0281] 4.1.14 MacIndCO[cNumToneCO]

[0282] MacIndCO[cNumToneCO] is a sub table of Macro Index data block onCO side for real-time bitloading.

[0283] 4.1.15 ToneIndCO[cNumToneCO]

[0284] ToneIndCO[cNumToneCO] is a sub table of Tone Index data block onCO side for real-time bitloading. Name of Items Number of Bits notesBitLoaddHeadRU 16 = 0x0F0F CheckSumRU 16 check sum for error controlTotalBitsRU 16 total data length NumToneRU 16 # of tones NumToneUsedRU16 # of tones used for bit loading FrameRateUp 16 = 5 kHz/s BitRateUp 16up stream bit rate MacIndLenRU 16 macro index block length GainRateRU 16gain rate GainBitIncRU 16 gain-to-bit increment TableTempRU1 16 tempvariable TableTempRU2 16 temp variable GainEncRU[ ] 16 × NumToneRUencode gains MacIndRU[ ] 16 × NumToneRU macro index data blockToneIndRU[ ] 16 × NumToneRU tone index data block

[0285] 4.2 Structure of BitLoadSetupTableRU (to RU):

[0286] BitLoadSetupTableRU are the data blocks sending from RU side toCO side. They carry the information for both sides to setup the system.The major purposes are bit rate negotiation, bit loading initializationand transmission error control.

[0287] 4.2.1 BitLoadHeadRU

[0288] BitLoadHeadRU denotes the head information of theBitLoadSetupTableRU data structure. Its default value equals0000111100001111 in binary, or 0x0F0F in hex.

[0289] 4.2.2 CheckSumRU

[0290] CheckSumRU defines the sum of all sending words but itself,accumulated in every 16 bits. It can be used for error control andprogram debugging.

[0291] 4.2.3 TotalBitsRU

[0292] TotalBitsRU=16 (12+3 NumToneRU). This is the total bits from RUto CO, including BitLoadHeadRU, CheckSumRU, itself and all followingitems.

[0293] 4.2.4 NumToneRU

[0294] NumToneRU equals the number of tones from RU to RU, the defaultsetting is 90.

[0295] 4.2.5 NumToneUsedRU

[0296] NumToneUsedRU denotes Number of Tones Used sending from RU to CO.This number is dependent on the bit loading algorithm and the randomdata. NumToneUsedRU is less than or equal to iNumToneRU because sometones may not be used to carry any bit either those sub-channels ortones are too noisy or those tones can not be grouped into one word(16-bit).

[0297] 4.2.6 FrameRateUp

[0298] FrameRateUp denotes Frame Rate for Upstream connection (RU toCO). The default setting is 5 kHz.

[0299] 4.2.7 BitRateUp

[0300] BitRateUp denotes Bit Rate for Upstream connection (RU to CO, inkbps, increment by 80 kbps).

[0301] 4.2.8 MacIndLenRU

[0302] MacIndLenRU equals to the Length of Macro Index data block, ortotal number of 16-bit words per frame, from RU to CO, which is variabledependent on channel. Its minimum and maximum value is NumToneRU×2/16(min.), NumToneRU×8/16 (max.).

[0303] 4.2.9 GainRateRU

[0304] GainRateRU is the Gain Rate for the upstream to adjust the gain.It will be used for GainEncRU[].

[0305] Gain=GainRateRU * Divagation, where the divagation is fromchannel estimation.

[0306] 4.2.10 GainBitIncRU

[0307] GainBitIncRU denotes Gain-to-Bit Increment, mapping the gain tobit.

[0308] 4.2.11 TableTempRU1

[0309] TableTempRU1 is the first temporal variable sending from RU toCO.

[0310] 4.2.12 TableTempRU2

[0311] TableTempRU2 is the second temporal variable sending from RU toCO.

[0312] 4.2.13 GainEncRU[cNumToneRU]

[0313] GainEncRU[cNumToneRU] is a sub table of data for Encode Gains forRU.

[0314] GainEnc[]=GainRateRU * Divagation[], where the divagation is fromchannel estimation.

[0315] 4.2.14 MacIndRU[cNumToneRU]

[0316] MacIndRU[cNumToneRU] is a sub table of Macro Index data block onRU side for real-time bitloading.

[0317] 4.2.15 ToneIndRU[cNumToneRU]

[0318] ToneIndRU[cNumToneRU] is a sub table of Tone Index data block onRU side for real-time bitloading.

What is claimed is:
 1. A medium rate DSL DMT data communication systemsubstantially as shown and described.